package com.finance.rule.bean.pojo;


import com.finance.framework.lang.BaseObject;
import com.finance.system.bean.pojo.RegionDetail;
import com.finance.system.bean.pojo.Supplier;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 按件管理（区域规则）
 */
@Data
public class PieceRangeRule extends BaseObject {
    private String nickName;//规则别名
    private String code;//规则简码
    private Supplier supplier;//供货商
    private Integer direction;//运单配送类型(0配送 1上门换 2上门退)
    private Integer settlementType;//机构类型 枚举 (0自营 1合作站 2合作商 3大型合作商)
    private BigDecimal firstPrice;//首件价格 单位元
    private BigDecimal secondPrice;//拖件价格 单位元
    private Date startTime;//启用时间
    private Date endTime;//关闭时间
    private String snapshot;//规则快照
    private Integer temperature;//运输温度等级 枚举 (0常温 1生鲜冷链)
    private Integer packageSize;//包裹大小规格 枚举 (0未知 1小件 2大件)
    private Integer signer;//本人签收 (1是0非)
    private Integer expressScheduleType;//配送时效要求 枚举 (0未知 1当日达 2次晨达 3三日达 4工作日 5节假日 6夜间配 7上午达 8下午达)
    private String supplierCode;//供应商编码
    private Integer cod;//是否含有待收款(1是0非)
    private RegionDetail regionDetail;//地区详情
    private String supplierCodeImport;
    private String provinceImport;
    private String cityImport;
    private String countyImport;
    private String temperatureImport;
    private String packageSizeImport;
    private String signerImport;
    private String expressScheduleTypeImport;
    private String codImport;
    private String provinceError;
    private String cityError;
    private String countyError;

    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }

    @Override
    public boolean equals(Object o) {
        if (!(o instanceof PieceRangeRule)) {
            return false;
        }
        PieceRangeRule rule = (PieceRangeRule) o;
        return this.getId().compareTo(rule.getId()) == 0;
    }
}